home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / amok_lha / amok03.lha / IFFLoad_1.1 / ShowCycle.mod < prev    next >
Text File  |  1993-08-15  |  2KB  |  68 lines

  1. (*---------------------------------------------------------------------------
  2.     :Program.    ShowCycle.mod
  3.     :Author.     Fridtjof Siebert
  4.     :Address.    Nobileweg 67, D-7-Stgt-40
  5.     :Phone.      0711/822509
  6.     :Shortcut.   [fbs]
  7.     :Version.    1.0
  8.     :Date.       20.04.88
  9.     :Copyright.  PD
  10.     :Language.   Modula-II
  11.     :Translator. M2Amiga
  12.     :Imports.    IFFLoad [fbs].
  13.     :UpDate.     none.
  14.     :Contents.   Demo zu IFFLoad für Colorcycling.
  15.     :Remark.     Syntax: ShowCycle <filename>
  16. ---------------------------------------------------------------------------*)
  17. MODULE ShowCycle;
  18.  
  19. FROM SYSTEM IMPORT ADR, ADDRESS, SHIFT, BITSET, LONGSET, CAST;
  20.  
  21. FROM Arguments IMPORT NumArgs,GetArg;
  22.  
  23. FROM Intuition IMPORT ScreenPtr,CloseScreen,DisplayBeep,WindowPtr;
  24.  
  25. FROM IFFLoad IMPORT ReadILBM,ReadILBMFlags,ReadILBMFlagSet,DoCycle,EndCycle,
  26.        IFFInfo;
  27.  
  28. VAR
  29.   MyScreen: ScreenPtr;        (* the Picture's ScreenPointer               *)
  30.   WindowDummy: WindowPtr;     (* only a dummy for NIL-Windowpointer        *)
  31.   Name: ARRAY[0..79] OF CHAR; (* the Picture's Name                        *)
  32.   length: INTEGER;            (* dummy for receiving Name's Length         *)
  33.   Ciapra [0BFE001H]: SET OF (s0,s1,s2,s3,s4,s5,lmb);
  34.     (* Ciapra is a Hardware-Register. Bit #6 contains the left Button      *)
  35.  
  36. BEGIN
  37.  
  38. (*------  Get Name:  ------*)
  39.  
  40.   IF NumArgs()#0 THEN
  41.     GetArg(1,Name,length);
  42.   ELSE
  43.     HALT; (* a silly guy didn't say which pic I should load *)
  44.   END;
  45.  
  46. (*------  Read and Show Pic:  ------*)
  47.  
  48.   IF ReadILBM(Name,ReadILBMFlagSet{front,visible},MyScreen,WindowDummy) THEN
  49.  
  50.     (*------  start ColorCycling:  ------*)
  51.  
  52.     IF DoCycle(ADR(IFFInfo),MyScreen) THEN END;
  53.  
  54.     WHILE lmb IN Ciapra DO END;
  55.     (* that's bad style, but it's the easiest way to wait for left Button  *)
  56.  
  57.     (*------  stop ColorCycling (this mustn't be forgotten !!!) ------*)
  58.  
  59.     EndCycle(ADR(IFFInfo));
  60.  
  61.     CloseScreen(MyScreen); (* close the Screen *)
  62.  
  63.   ELSE
  64.     DisplayBeep(NIL); (* any error occured: lets display a Beep ! *)
  65.   END;
  66.  
  67. END ShowCycle. That's all. Wasn't that easy ???
  68.